package www.woniuxy.com.class112.service;


import com.github.pagehelper.PageInfo;
import www.woniuxy.com.class112.dto.*;
import www.woniuxy.com.class112.entity.Issues;

import www.woniuxy.com.class112.param.*;
import www.woniuxy.com.class112.param.workOrdes.AdminselectWorkOrdersParam;

import java.util.List;

public interface WorkOrdersService {
    QusDto agriculturalIssues(AgriculturalIssuesParam param) throws Exception;

    List<Issues> userQueryQuestionTable(Long userId, Long issueState) throws Exception;

    void specialEnvoyAcceptsOrders(specialEnvoyAcceptsOrdersParam param) throws Exception;

    void fillInTheWorkOrderAddress(FillInTheWorkOrderAddressParam param) throws Exception;

    void knowledgeBaseSolvesProblems(Long issuesId,Long userId);

    void completeTheWorkOrder(CompleteTheWorkOrderParam toBean) throws Exception;

    List<SpecialEnvoyQueriesWorkOrdersDto> specialEnvoyQueriesWorkOrders(Long agentId);

    void specialEnvoyOnlineStatement(specialEnvoyOnlineStatementParam toBean);

    void startOnlineWorkOrder(Long id);

    void startOfflineWorkOrder(StartOfflineWorkOrderParam toBean);

    PageInfo<pendingEvaluationWorkOrderDto> pendingEvaluationWorkOrder(pendingEvaluationWorkOrderParam param) throws Exception;

    void confirmEvaluation(ConfirmEvaluationParam param);

    void theUserIsLookingForASpecialEnvoy(Long issuesId);

    PageInfo<QueryQuestionsDto> queryQuestions(PageParam param,Long userId) throws Exception;

    void cancelTheIssue(CancelTheIssueParam param);

    PageInfo<QueryProcessingInProgressDto> queryProcessingInProgress(PageParam param, Long userId);

    PageInfo<AdminWorkOredeDto> adminselectWorkOrdes(AdminselectWorkOrdersParam param);

    void onlineCompletionOfWorkOrders(OnlineWorkOrderParam param);

    void specialEnvoyCancelled(SpecialEnvoyCancelledParam param);

    void reportToTheMunicipalBureau(ReportToTheMunicipalBureauParam param);
}
